package com.ytclub.auth.domain.service;

import cn.dev33.satoken.stp.SaTokenInfo;
import com.ytclub.auth.domain.entity.AuthUserBO;


/**
 * 用户领域层接口类
 *
 * @author: HuangQi
 * @date: Created in 21:14 2023/12/19
 * @description: 用户领域层接口
 */
public interface AuthUserDoaminService {

    /**
     * 注册用户
     *
     * @param authUserBO 注册用户的信息
     * @return 注册结果
     */
    Boolean register(AuthUserBO authUserBO);

    /**
     * 更新用户信息
     *
     * @param authUserBO 更新用户的信息
     * @return 更新结果
     */
    Boolean update(AuthUserBO authUserBO);

    /**
     * 删除用户
     *
     * @param authUserBO 删除用户的信息
     * @return 删除结果
     */
    Boolean delete(AuthUserBO authUserBO);

    /**
     * 用户登录
     *
     * @param validCode 验证码
     * @return 登录结果
     */
    SaTokenInfo doLogin(String validCode);

    /**
     * 获取用户信息
     *
     * @param authUserBO 需要获取的用户
     * @return 用户信息
     */
    AuthUserBO getUserInfo(AuthUserBO authUserBO);
}
